package cn.com.dycc.sys_manage.usersysmanagement.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import cn.com.dycc.sys_manage.usersysmanagement.entity.UserChildAccount;



/**
 * 添加用户子账户表
 * Description: 
 * Author: linfangan
 * Version: 1.0
 * Create Date Time: 2017年8月17日 下午10:17:14.
 * Update Date Time: 
 * @see
 */
@Repository("userChildAccountDao")
public interface UserChildAccountDao {
	
	/**
	 * 添加用户子表账号信息
	 * @param userChild 子账号信息
	 * @return 成功返回1
	 */
	public int addUserChildAccount(UserChildAccount userChild);
	
	/**
	 * 更新用户子表账号信息
	 * @param userChild
	 * @return
	 */
	public int updateUserAccount(UserChildAccount userChild);
	
	/**
	 * 根据用户id查询子表id
	 * @param user_id 主表id
	 * @return
	 */
	public String findAccountIdByUserId(String user_id);
//	
////	/**
////	 * 更新UserChildAccount表ID，用于绑定子账户角色
////	 * @param userChild 
////	 * @return
////	 */
////	public int updateUserChildAccountId(UserChildAccount userChild);
//	
//	/**
//	 * 根据user_id删除 T_user_child_account信息
//	 * @return
//	 */
//	public int deleteUserChildAccountByUserId(Integer userId);
//	
//	/**
//	 * 查询T_user_child_account的 id最大值
//	 * @return
//	 */
//	public int selUserChildAccountMaxId();
//	
//	/**
//	 * 根据userid和默认账号信息查找用信息
//	 * @param userId
//	 * @return
//	 */
//	public UserChildAccount findPrincipalByUserid(int userId);
//	
//	/**
//	 * 根据id更新默认账号信息
//	 * @param id
//	 * @return
//	 */
//	public int updatePrincipalByUserid(int id);
//	
//
	/**
	 * 通过dept_no查询top_dept_no
	 * @return
	 */
	public String findTopDepNotByDeptNo(
			@Param("dept_no")String dept_no,
			@Param("user_id")String user_id
			);
	
	/**
	 * 通过dept_no查询userid
	 * @return
	 */
	public List<String> findUserIdByDeptNo(String deptNo);
	
	/**
	 * 通过用户id批量更新top_dept_no
	 * @return
	 */
	public int updateTopDeptNoByUserId(Map<String,Object> map);
	
	/**
	 * 根据职务id查询是否用职务是否在使用
	 * @param dept_no
	 * @param user_id
	 * @return
	 */
	public int findCountByClassNo(
			@Param("org_id")String org_id,
			@Param("class_no")String class_no
			);
	
	/**
	 * 根据岗位id查询是否用职务是否在使用
	 * @param dept_no
	 * @param user_id
	 * @return
	 */
	public int findCountByPostNo(
			@Param("org_id")String org_id,
			@Param("post_no")String post_no
			);
	
}
